A flash memory is a non-volatile memory with large capacity, high read/write speed, low power consumption and low cost. Since the flash memory has a non-volatile characteristic, data can still be saved in the flash memory after the flash memory is powered off. Therefore, the flash memory can be widely used.
The lifetime of the flash memory is affected by read disturbances and the number of erases of the data block. A read disturbance refers to a voltage applied to other word lines in a data block when a page in the data block is read, which may cause data pages on those word lines to be slightly programmed, and thus, the data of those data pages is disturbed. As the number of read operations increases, the interference effect continually accumulates. Finally, the data in the data block may be invalid, which makes the data block become a bad data block. Moreover, as the erasable number for each data block in the flash memory is limited, frequent erasing will make the data block become a bad data block. The stability for the flash memory may decrease as the number of bad data blocks increases. The flash memory cannot continue to be used when the number of the bad data blocks has accumulated to a certain value.